package com.zxp.rmi.registry;

import com.zxp.rmi.service.HelloRegistryFacade;
import com.zxp.rmi.service.impl.HelloRmiServiceImpl;
import lombok.SneakyThrows;

import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

/**
 * @author zxp
 * @date 2021-08-23 10:25
 */
public class MyRmiRegistry {

    @SneakyThrows
    public static void main(String[] args) {

        // 第一步：创建一个远程对象
        HelloRegistryFacade hello = new HelloRmiServiceImpl();

        // 第二步：创建注册中心，并绑定远程服务。 本地主机上的远程对象注册表Registry的实例,默认端口1099
        Registry registry = LocateRegistry.createRegistry(8989);
        // 把远程对象注册到RMI注册服务器上，并命名为HelloRegistry
        registry.rebind("HelloRegistry", hello);

        // 或者这样绑定服务
        //Naming.bind("rmi://localhost:8989/demoService", hello);
        System.out.println("======= 启动RMI服务成功! =======");

        // 阻塞主线程，不让线程关闭
        System.in.read();
    }

}
